// export const createindexDB = (props) => {

//     //1-我们先创建一个对象，放一些数据比如dbInfo ，可以设置数据库名字dbName，数据库的版本dbVersion 

//     var dbInfo = {
//         dbName: "Hottest",
//         dbVersion: 2021,
//         dbInstance: {}
//     };

//     //2-创建数据库 indexedDB.open方法用于打开数据库。返回的是一个对象，第一个参数是数据库名称，格式为字符串。第二个参数是数据库版本。

//     var openRequest = window.indexedDB.open(dbInfo.dbName, dbInfo.dbVersion);

//     //3-创建数据库时会处罚三个事件之一，这三个事件，分别是upgradeneeded，success，onerror，意思就不说了吧，不懂得可以用字典查嘛。

//     openRequest.onupgradeneeded = function (e) { //第一次打开数据库 ^-*

//         console.log("第一次打开该数据库，或者数据库版本发生变化....");

//         var db = e.target.result;
//         var storeNames = db.objectStoreNames;

//         //创建数据库的表格（或者叫数据库仓库）
//         if (!storeNames.contains('articles')) {
//             db.createObjectStore('articles', {
//                 keyPath: "article_id",
//                 autoIncrement: true
//             })
//         }
//     }

//     openRequest.onsuccess = function (e) { //success：打开成功^-^  
//         console.log("数据库打开成功...");

//         var db = e.target.result;
//         var trans = db.transaction(["articles"], "readwrite");
//         var store = trans.objectStore("articles");


//         //4-这里面我要写很多要调用的函数了，比如，下面.....wu la wu la.....

//         add_data(db, props);; //数据库中添加数据  
//         // del_data(db);  //数据库中删除数据
//         // deal_data(db); //读取数据
//         // update_data(db, props);//更新数据（类似于Add方法）
//         // traverse_data(db); //遍历数据

//     }

//     openRequest.onerror = function (e) { //error：打开失败*-*

//         console.log("数据库打开失败...");
//         console.dir(e);
//     }
// }


// // 为数据库添加数据
// export const add_data = (db, props) => {
//     var name = "添加数据"

//     //1-把前面创建的数据库，传递过来 

//     var db = db;

//     //2-返回一个事务对象,indexDB 数据库只有  readwrite 以及readonly两个可爱的状态。 

//     var tt = db.transaction(["articles"], "readwrite");

//     //3-objectStore方法用于返回指定的对象仓库(数据库表格)对象。 

//     var store = tt.objectStore("articles");

//     //4-创建一个要添加的对象。          

//     //5-添加数据：add方法的第一个参数是所要添加的数据，第二个参数是这条数据对应的键名（key）       

//     var request = store.add(props);
//     //6-添加数据：add方法也有两个事件，一个error一个success可以在回调函数中调用。
//     request.onerror = function (e) {
//         console.log("Error", e.target.error.name);
//         // error handler
//         console.log("数据添加失败...");
//     }

//     request.onsuccess = function (e) {
//         // success handler
//         console.log("数据添加成功...");

//     }
// }

// //获取数据库的所有数据
// export const getAllData = (callback) => {
//     var dbInfo = {
//         dbName: "Hottest",
//         dbVersion: 2021,
//         dbInstance: {}
//     };

//     var openRequest = window.indexedDB.open(dbInfo.dbName, dbInfo.dbVersion);
    
//     openRequest.onsuccess = function (e) {
        
//         var db = e.target.result;
//         var trans = db.transaction(["articles"], "readwrite");
//         var store = trans.objectStore("articles");
//         let request = store.openCursor();
//         let data = [];
//         request.onerror = function () {
//             console.error('getDataByKey error');
//         };
//         request.onsuccess = function (e) {
//             let result = e.target.result;
//             if (result && result !== null) {
//                 data.push(result.value);
//                 result.continue();
//             } else {
//                 console.log('全部查找数据成功')
//                 callback(data)     
//             }
//         };
     
//     }
    

// }